<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title></title>
  </head>

  <body>
    <div class="tools">
      <button
        type="button"
        class="btn green"
        id="excell"
        onclick="method5('dataTable')"
      >
        导出考勤表格
      </button>
    </div>

    <table border="1" id="dataTable">
      <tr>
        <td>王婷111</td>
        <td>一见倾城333</td>
        <td>哈哈哈哈</td>
      </tr>
      <tr>
        <td>祈澈姑娘222</td>
        <td>Python开发者交流平台44</td>
      </tr>
      <tr>
        <td>wwwangting888</td>
        <td>13661725475</td>
      </tr>
    </table>
  </body>
  <script>
    //打印表格   做了ie兼容
    var idTmr;

    function getExplorer() {
      var explorer = window.navigator.userAgent;
      //ie
      if (explorer.indexOf("MSIE") >= 0) {
        return "ie";
      }
      //firefox
      else if (explorer.indexOf("Firefox") >= 0) {
        return "Firefox";
      }
      //Chrome
      else if (explorer.indexOf("Chrome") >= 0) {
        return "Chrome";
      }
      //Opera
      else if (explorer.indexOf("Opera") >= 0) {
        return "Opera";
      }
      //Safari
      else if (explorer.indexOf("Safari") >= 0) {
        return "Safari";
      }
    }

    function method5(tableid) {
      if (getExplorer() == "ie") {
        var curTbl = document.getElementById(tableid);
        var oXL = new ActiveXObject("Excel.Application");
        var oWB = oXL.Workbooks.Add();
        var xlsheet = oWB.Worksheets(1);
        var sel = document.body.createTextRange();
        sel.moveToElementText(curTbl);
        sel.select();
        sel.execCommand("Copy");
        xlsheet.Paste();
        oXL.Visible = true;

        try {
          var fname = oXL.Application.GetSaveAsFilename(
            "Excel.xls",
            "Excel Spreadsheets (*.xls), *.xls"
          );
        } catch (e) {
          print("Nested catch caught " + e);
        } finally {
          oWB.SaveAs(fname);
          oWB.Close((savechanges = false));
          oXL.Quit();
          oXL = null;
          idTmr = window.setInterval("Cleanup();", 1);
        }
      } else {
        tableToExcel(tableid);
      }
    }

    function Cleanup() {
      window.clearInterval(idTmr);
      CollectGarbage();
    }
    var tableToExcel = (function() {
      var uri = "data:application/vnd.ms-excel;base64,",
        template =
          '<html><head><meta charset="UTF-8"></head><body><table  border="1">{table}</table></body></html>',
        base64 = function(s) {
          return window.btoa(unescape(encodeURIComponent(s)));
        },
        format = function(s, c) {
          return s.replace(/{(\w+)}/g, function(m, p) {
            return c[p];
          });
        };
      return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table);
        var ctx = {
          worksheet: name || "Worksheet",
          table: table.innerHTML
        };
        window.location.href = uri + base64(format(template, ctx));
      };
    })();
  </script>
</html>
